[INFO] cloning repository https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanphungthienlv-boop%2FZeroClaw_Docker_Project", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanphungthienlv-boop%2FZeroClaw_Docker_Project'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 562f3bfeea6db1b5566763ac7903afafcdf2dcd9
[INFO] fixing tanphungthienlv-boop/ZeroClaw_Docker_Project against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftanphungthienlv-boop%2FZeroClaw_Docker_Project" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project
[INFO] finished tweaking git repo https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project
[INFO] tweaked toml for git repo https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tanphungthienlv-boop/ZeroClaw_Docker_Project already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_parser v1.0.8+spec-1.1.0
[INFO] [stderr]   Downloaded anyhow v1.0.101
[INFO] [stderr]   Downloaded toml v1.0.1+spec-1.1.0
[INFO] [stderr]   Downloaded serde_spanned v1.0.4
[INFO] [stderr]   Downloaded cmake v0.1.57
[INFO] [stderr]   Downloaded data-encoding v2.10.0
[INFO] [stderr]   Downloaded toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]   Downloaded toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]   Downloaded tokio-serial v5.4.5
[INFO] [stderr]   Downloaded unescaper v0.1.8
[INFO] [stderr]   Downloaded mio-serial v5.0.6
[INFO] [stderr]   Downloaded io-kit-sys v0.4.1
[INFO] [stderr]   Downloaded rsqlite-vfs v0.1.0
[INFO] [stderr]   Downloaded hashlink v0.11.0
[INFO] [stderr]   Downloaded serialport v4.7.3
[INFO] [stderr]   Downloaded rppal v0.14.1
[INFO] [stderr]   Downloaded security-framework-sys v2.16.0
[INFO] [stderr]   Downloaded prost v0.14.3
[INFO] [stderr]   Downloaded prost-derive v0.14.3
[INFO] [stderr]   Downloaded scroll v0.13.0
[INFO] [stderr]   Downloaded probe-rs-target v0.30.0
[INFO] [stderr]   Downloaded deranged v0.5.6
[INFO] [stderr]   Downloaded rmp-serde v1.3.1
[INFO] [stderr]   Downloaded rmp v0.8.15
[INFO] [stderr]   Downloaded rusqlite v0.38.0
[INFO] [stderr]   Downloaded security-framework v3.6.0
[INFO] [stderr]   Downloaded prometheus v0.14.0
[INFO] [stderr]   Downloaded uf2-decode v0.2.0
[INFO] [stderr]   Downloaded jep106 v0.3.0
[INFO] [stderr]   Downloaded ihex v3.0.0
[INFO] [stderr]   Downloaded nusb v0.1.14
[INFO] [stderr]   Downloaded aws-lc-rs v1.15.4
[INFO] [stderr]   Downloaded udev v0.8.0
[INFO] [stderr]   Downloaded miette-derive v7.6.0
[INFO] [stderr]   Downloaded esp-idf-part v0.6.0
[INFO] [stderr]   Downloaded serde_plain v1.0.2
[INFO] [stderr]   Downloaded parse_int v0.9.0
[INFO] [stderr]   Downloaded deku_derive v0.18.1
[INFO] [stderr]   Downloaded ruzstd v0.8.2
[INFO] [stderr]   Downloaded docsplay v0.1.3
[INFO] [stderr]   Downloaded rustls v0.23.36
[INFO] [stderr]   Downloaded hidapi v2.6.4
[INFO] [stderr]   Downloaded miette v7.6.0
[INFO] [stderr]   Downloaded deku v0.18.1
[INFO] [stderr]   Downloaded no_std_io2 v0.8.1
[INFO] [stderr]   Downloaded docsplay-macros v0.1.2
[INFO] [stderr]   Downloaded cobs v0.5.0
[INFO] [stderr]   Downloaded bitfield v0.19.4
[INFO] [stderr]   Downloaded bitfield-macros v0.19.4
[INFO] [stderr]   Downloaded type1-encoding-parser v0.1.0
[INFO] [stderr]   Downloaded heapless v0.9.2
[INFO] [stderr]   Downloaded pdf-extract v0.10.0
[INFO] [stderr]   Downloaded postscript v0.14.1
[INFO] [stderr]   Downloaded nom_locate v5.0.0
[INFO] [stderr]   Downloaded ecb v0.1.2
[INFO] [stderr]   Downloaded block-padding v0.3.3
[INFO] [stderr]   Downloaded cbc v0.1.2
[INFO] [stderr]   Downloaded object v0.38.1
[INFO] [stderr]   Downloaded pom v1.1.0
[INFO] [stderr]   Downloaded cff-parser v0.1.0
[INFO] [stderr]   Downloaded adobe-cmap-parser v0.4.1
[INFO] [stderr]   Downloaded tonic-prost v0.14.4
[INFO] [stderr]   Downloaded quoted_printable v0.5.1
[INFO] [stderr]   Downloaded opentelemetry-otlp v0.31.0
[INFO] [stderr]   Downloaded opentelemetry-proto v0.31.0
[INFO] [stderr]   Downloaded opentelemetry-http v0.31.0
[INFO] [stderr]   Downloaded hashify v0.2.7
[INFO] [stderr]   Downloaded email_address v0.2.9
[INFO] [stderr]   Downloaded email-encoding v0.4.1
[INFO] [stderr]   Downloaded landlock v0.4.4
[INFO] [stderr]   Downloaded euclid v0.20.14
[INFO] [stderr]   Downloaded opentelemetry v0.31.0
[INFO] [stderr]   Downloaded chumsky v0.9.3
[INFO] [stderr]   Downloaded stacker v0.1.23
[INFO] [stderr]   Downloaded psm v0.1.30
[INFO] [stderr]   Downloaded tonic v0.14.4
[INFO] [stderr]   Downloaded nusb v0.2.1
[INFO] [stderr]   Downloaded ar_archive_writer v0.5.1
[INFO] [stderr]   Downloaded webdriver v0.53.0
[INFO] [stderr]   Downloaded lettre v0.11.19
[INFO] [stderr]   Downloaded opentelemetry_sdk v0.31.0
[INFO] [stderr]   Downloaded fantoccini v0.22.0
[INFO] [stderr]   Downloaded fuzzy-matcher v0.3.7
[INFO] [stderr]   Downloaded dialoguer v0.12.0
[INFO] [stderr]   Downloaded cron v0.12.1
[INFO] [stderr]   Downloaded console v0.16.2
[INFO] [stderr]   Downloaded mail-parser v0.11.2
[INFO] [stderr]   Downloaded clap v4.5.58
[INFO] [stderr]   Downloaded clap_builder v4.5.58
[INFO] [stderr]   Downloaded icu_segmenter v1.5.0
[INFO] [stderr]   Downloaded probe-rs v0.30.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.28.0
[INFO] [stderr]   Downloaded espflash v4.3.0
[INFO] [stderr]   Downloaded icu_segmenter_data v1.5.1
[INFO] [stderr]   Downloaded libsqlite3-sys v0.36.0
[INFO] [stderr]   Downloaded sqlite-wasm-rs v0.5.2
[INFO] [stderr]   Downloaded lopdf v0.38.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.37.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252
[INFO] running `Command { std: "docker" "start" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling aws-lc-rs v1.15.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling stacker v0.1.23
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling ar_archive_writer v0.5.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling psm v0.1.30
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]     Checking unescaper v0.1.8
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking prost v0.14.3
[INFO] [stderr]     Checking tonic v0.14.4
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking siphasher v1.0.2
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking phf_shared v0.12.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking tonic-prost v0.14.4
[INFO] [stderr]     Checking serialport v4.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking clap_builder v4.5.58
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking mio-serial v5.0.6
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking chumsky v0.9.3
[INFO] [stderr]     Checking hashlink v0.11.0
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stderr]     Checking console v0.16.2
[INFO] [stderr]     Checking fuzzy-matcher v0.3.7
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]    Compiling hashify v0.2.7
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking toml_parser v1.0.8+spec-1.1.0
[INFO] [stderr]     Checking toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking serde_spanned v1.0.4
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking email-encoding v0.4.1
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking quoted_printable v0.5.1
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking dialoguer v0.12.0
[INFO] [stderr]     Checking mail-parser v0.11.2
[INFO] [stderr]     Checking nusb v0.2.1
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking toml v1.0.1+spec-1.1.0
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking clap v4.5.58
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking tokio-serial v5.4.5
[INFO] [stderr]     Checking chrono-tz v0.10.4
[INFO] [stderr]     Checking cron v0.12.1
[INFO] [stderr]     Checking shellexpand v3.1.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking hostname v0.4.2
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking rusqlite v0.38.0
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking lettre v0.11.19
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.0
[INFO] [stderr]     Checking zeroclaw v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/onboard/wizard.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:582:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |               } else {
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/tools/shell.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:631:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 661 | |             };
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/daemon/mod.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:717:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                       |                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                       up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 739 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/config/schema.rs (64 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/loop_.rs:1359:6
[INFO] [stdout]      |
[INFO] [stdout] 1203 |     let observer: Arc<dyn Observer> =
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `observer` calls a custom destructor
[INFO] [stdout]      |         `observer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     let mem: Arc<dyn Memory> = Arc::from(memory::create_memory(
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `mem` calls a custom destructor
[INFO] [stdout]      |         `mem` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1225 |     let mut tools_registry = tools::all_tools_with_runtime(
[INFO] [stdout]      |         ------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `tools_registry` calls a custom destructor
[INFO] [stdout]      |         `tools_registry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1248 |     let provider: Box<dyn Provider> = providers::create_routed_provider(
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `provider` calls a custom destructor
[INFO] [stdout]      |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1359 |     .await
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout]      |      |
[INFO] [stdout]      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1360 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `observer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `mem` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `tools_registry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `provider` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/mod.rs:304:34
[INFO] [stdout]      |
[INFO] [stdout]  292 |       while let Some(msg) = rx.recv().await {
[INFO] [stdout]      |                             ---------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |           let permit = match Arc::clone(&semaphore).acquire_owned().await {
[INFO] [stdout]      |                              --------------------------------------------
[INFO] [stdout]      |                              |                                      |
[INFO] [stdout]      |                              |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                              |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 | /         workers.spawn(async move {
[INFO] [stdout]  300 | |             let _permit = permit;
[INFO] [stdout]  301 | |             process_channel_message(worker_ctx, msg).await;
[INFO] [stdout]  302 | |         });
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  303 |
[INFO] [stdout]  304 |           while let Some(result) = workers.try_join_next() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  305 |               log_worker_join_result(result);
[INFO] [stdout]  306 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/mod.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |     while let Some(result) = workers.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                   |
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 310 |         log_worker_join_result(result);
[INFO] [stdout] 311 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:707:33
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________-
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____^
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 713 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________^
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____-
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |         match serial::SerialPeripheral::connect(board).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                        |
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |             Ok(peripheral) => {
[INFO] [stdout] 186 |                 let mut p = peripheral;
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `p` calls a custom destructor
[INFO] [stdout]     |                     `p` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                 if p.connect().await.is_err() {
[INFO] [stdout]     |                    -----------------
[INFO] [stdout]     |                    |           |
[INFO] [stdout]     |                    |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 202 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 206 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/heartbeat/engine.rs:45:19
[INFO] [stdout]     |
[INFO] [stdout]  42 |             interval.tick().await;
[INFO] [stdout]     |             ---------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |             match self.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/markdown.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                            -----    ----------------------^
[INFO] [stdout]     |                            |        |                |
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `entry` calls a custom destructor
[INFO] [stdout]     |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                     let content = fs::read_to_string(&path).await?;
[INFO] [stdout]     |                                   -------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:336:36
[INFO] [stdout]     |
[INFO] [stdout] 336 |               if let Ok(Some(emb)) = self.get_or_compute_embedding(content).await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                                      |
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                   let bytes = vector::vec_to_bytes(&emb);
[INFO] [stdout] 338 |                   let conn = self.conn.lock();
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `conn` calls a custom destructor
[INFO] [stdout]     |                       `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                 conn.execute(
[INFO] [stdout] 340 | |                     "UPDATE memories SET embedding = ?1 WHERE id = ?2",
[INFO] [stdout] 341 | |                     params![bytes, id],
[INFO] [stdout] 342 | |                 )?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tools/http_request.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let client = reqwest::Client::builder()
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |         Ok(request.send().await?)
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/dingtalk.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(msg) = read.next().await {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |      |           |
[INFO] [stdout]     |                        |      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     if let Err(e) = write.send(Message::Text(pong.to_string())).await {
[INFO] [stdout]     |                                -                                                -----
[INFO] [stdout]     |                                |                                                |
[INFO] [stdout]     |                                |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                         let mut webhooks = self.session_webhooks.write().await;
[INFO] [stdout]     |                             ------------   -----------------------------------
[INFO] [stdout]     |                             |              |                             |
[INFO] [stdout]     |                             |              |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |              |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `webhooks` calls a custom destructor
[INFO] [stdout]     |                             `webhooks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                     let _ = write.send(Message::Text(ack.to_string())).await;
[INFO] [stdout]     |                             ------------------------------------------------
[INFO] [stdout]     |                             |                                          |
[INFO] [stdout]     |                             |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             |                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                     if tx.send(channel_msg).await.is_err() {
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `webhooks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/signal.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                   |
[INFO] [stdout]     |                            |        |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 332 |                 let chunk = match chunk {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                     Ok(c) => c,
[INFO] [stdout] 334 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 366 |                                             if tx.send(msg).await.is_err() {
[INFO] [stdout]     |                                                ------------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/signal.rs:331:37
[INFO] [stdout]      |
[INFO] [stdout]  300 |               let resp = self
[INFO] [stdout]      |  _________________----___-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `resp` calls a custom destructor
[INFO] [stdout]      | |                 `resp` will be dropped later as of Edition 2024
[INFO] [stdout]  301 | |                 .client
[INFO] [stdout]  302 | |                 .get(url.clone())
[INFO] [stdout]  303 | |                 .header("Accept", "text/event-stream")
[INFO] [stdout]  304 | |                 .send()
[INFO] [stdout]  305 | |                 .await;
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  311 |                       let body = r.text().await.unwrap_or_default();
[INFO] [stdout]      |                                  --------------
[INFO] [stdout]      |                                  |        |
[INFO] [stdout]      |                                  |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                  |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  312 |                       tracing::warn!("Signal SSE returned {status}: {body}");
[INFO] [stdout]  313 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                   Err(e) => {
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                       tracing::warn!("Signal SSE connect error: {e}, retrying...");
[INFO] [stdout]  319 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  327 |               let mut bytes_stream = resp.bytes_stream();
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `bytes_stream` calls a custom destructor
[INFO] [stdout]      |                   `bytes_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |               while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]      |                              -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |        |                   |
[INFO] [stdout]      |                              |        |                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                              |        |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `chunk` calls a custom destructor
[INFO] [stdout]      |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  332 |                   let chunk = match chunk {
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  333 |                       Ok(c) => c,
[INFO] [stdout]  334 |                       Err(e) => {
[INFO] [stdout]      |                           -
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  366 |                                               if tx.send(msg).await.is_err() {
[INFO] [stdout]      |                                                  ------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  386 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  393 |                                   let _ = tx.send(msg).await;
[INFO] [stdout]      |                                           ------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |               tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |               -------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `resp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:443:32
[INFO] [stdout]     |
[INFO] [stdout] 440 |               let mut stmt = conn.prepare(
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `stmt` calls a custom destructor
[INFO] [stdout]     |                   `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               if let Ok(entry) = stmt.query_row(params![scored.id], |row| {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 444 | |                 Ok(MemoryEntry {
[INFO] [stdout] 445 | |                     id: row.get(0)?,
[INFO] [stdout] 446 | |                     key: row.get(1)?,
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |                 })
[INFO] [stdout] 453 | |             }) {
[INFO] [stdout]     | |              ^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:540:15
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 522 |         let conn = self.conn.lock();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 523 |
[INFO] [stdout] 524 |         let mut stmt = conn.prepare(
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `stmt` calls a custom destructor
[INFO] [stdout]     |             `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |         let mut rows = stmt.query_map(params![key], |row| {
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `rows` calls a custom destructor
[INFO] [stdout]     |             `rows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 540 |         match rows.next() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/row.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Drop for Rows<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/capabilities_tool.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |             match transport.capabilities().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                        |
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |           while let Some(item) = bytes_stream.next().await {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |       |                   |
[INFO] [stdout]     |                          |       |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |       up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `item` calls a custom destructor
[INFO] [stdout]     |                          `item` will be dropped later as of Edition 2024
[INFO] [stdout] 307 |               match item {
[INFO] [stdout] 308 |                   Ok(bytes) => {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `bytes` calls a custom destructor
[INFO] [stdout]     |                      `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                               let _ = tx
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 314 | |                                 .send(Err(StreamError::InvalidSse(format!(
[INFO] [stdout] 315 | |                                     "Invalid UTF-8: {}",
[INFO] [stdout] 316 | |                                     e
[INFO] [stdout] 317 | |                                 ))))
[INFO] [stdout] 318 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   if tx.send(Ok(chunk)).await.is_err() {
[INFO] [stdout]     |                                      ------------------------
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      |                  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |                                   let _ = tx.send(Err(e)).await;
[INFO] [stdout]     |                                           ---------------------
[INFO] [stdout]     |                                           |               |
[INFO] [stdout]     |                                           |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                           |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       let _ = tx.send(Err(StreamError::Http(e))).await;
[INFO] [stdout]     |                               ----------------------------------------
[INFO] [stdout]     |                               |                                  |
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               |                                  `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `item` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `item` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:765:37
[INFO] [stdout]     |
[INFO] [stdout] 765 |             while let Some(chunk) = chunk_stream.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                   |
[INFO] [stdout]     |                                     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 766 |                 if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                    --------------------
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 769 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:169:27
[INFO] [stdout]      |
[INFO] [stdout]  169 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  170 | |                         .chat_with_system(system_prompt, message, current_model, temperature)
[INFO] [stdout]  171 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  231 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:274:27
[INFO] [stdout]      |
[INFO] [stdout]  274 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  275 | |                         .chat_with_history(messages, current_model, temperature)
[INFO] [stdout]  276 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  335 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  340 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/reliable.rs:399:41
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 407 |                     if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                        --------------------
[INFO] [stdout]     |                        |              |
[INFO] [stdout]     |                        |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/router.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |             if let Err(e) = provider.warmup().await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                 |
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:555:15
[INFO] [stdout]     |
[INFO] [stdout] 555 |         match create_provider(fallback, api_key) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 556 |             Ok(provider) => providers.push((fallback.clone(), provider)),
[INFO] [stdout] 557 |             Err(_error) => {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_error` calls a custom destructor
[INFO] [stdout]     |                 `_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 564 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:615:15
[INFO] [stdout]     |
[INFO] [stdout] 615 |         match create_resilient_provider(name, key, url, reliability) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 616 |             Ok(provider) => providers.push((name.clone(), provider)),
[INFO] [stdout] 617 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/security/secrets.rs:656:15
[INFO] [stdout]     |
[INFO] [stdout] 639 |         let tmp1 = TempDir::new().unwrap();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tmp1` calls a custom destructor
[INFO] [stdout]     |             `tmp1` will be dropped later as of Edition 2024
[INFO] [stdout] 640 |         let tmp2 = TempDir::new().unwrap();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tmp2` calls a custom destructor
[INFO] [stdout]     |             `tmp2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 656 |         match store2.decrypt_and_migrate(&legacy_value) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tmp1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.25.0/src/dir/mod.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Drop for TempDir {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tmp2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.25.0/src/dir/mod.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Drop for TempDir {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |             if let Ok(skill) = load_skill_toml(&manifest_path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |         } else if md_path.exists() {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             if let Ok(skill) = load_skill_md(&md_path, &path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:582:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |               } else {
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:631:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 661 | |             };
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:717:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                       |                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                       up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 739 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/loop_.rs:1359:6
[INFO] [stdout]      |
[INFO] [stdout] 1203 |     let observer: Arc<dyn Observer> =
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `observer` calls a custom destructor
[INFO] [stdout]      |         `observer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     let mem: Arc<dyn Memory> = Arc::from(memory::create_memory(
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `mem` calls a custom destructor
[INFO] [stdout]      |         `mem` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1225 |     let mut tools_registry = tools::all_tools_with_runtime(
[INFO] [stdout]      |         ------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `tools_registry` calls a custom destructor
[INFO] [stdout]      |         `tools_registry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1248 |     let provider: Box<dyn Provider> = providers::create_routed_provider(
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `provider` calls a custom destructor
[INFO] [stdout]      |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1359 |     .await
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout]      |      |
[INFO] [stdout]      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1360 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `observer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `mem` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `tools_registry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `provider` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/mod.rs:304:34
[INFO] [stdout]      |
[INFO] [stdout]  292 |       while let Some(msg) = rx.recv().await {
[INFO] [stdout]      |                             ---------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |           let permit = match Arc::clone(&semaphore).acquire_owned().await {
[INFO] [stdout]      |                              --------------------------------------------
[INFO] [stdout]      |                              |                                      |
[INFO] [stdout]      |                              |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                              |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 | /         workers.spawn(async move {
[INFO] [stdout]  300 | |             let _permit = permit;
[INFO] [stdout]  301 | |             process_channel_message(worker_ctx, msg).await;
[INFO] [stdout]  302 | |         });
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  303 |
[INFO] [stdout]  304 |           while let Some(result) = workers.try_join_next() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  305 |               log_worker_join_result(result);
[INFO] [stdout]  306 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/mod.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |     while let Some(result) = workers.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                   |
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 310 |         log_worker_join_result(result);
[INFO] [stdout] 311 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:707:33
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________-
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____^
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 713 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________^
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____-
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |         match serial::SerialPeripheral::connect(board).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                        |
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |             Ok(peripheral) => {
[INFO] [stdout] 186 |                 let mut p = peripheral;
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `p` calls a custom destructor
[INFO] [stdout]     |                     `p` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                 if p.connect().await.is_err() {
[INFO] [stdout]     |                    -----------------
[INFO] [stdout]     |                    |           |
[INFO] [stdout]     |                    |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 202 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 206 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/heartbeat/engine.rs:45:19
[INFO] [stdout]     |
[INFO] [stdout]  42 |             interval.tick().await;
[INFO] [stdout]     |             ---------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |             match self.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/markdown.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                            -----    ----------------------^
[INFO] [stdout]     |                            |        |                |
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `entry` calls a custom destructor
[INFO] [stdout]     |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                     let content = fs::read_to_string(&path).await?;
[INFO] [stdout]     |                                   -------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:336:36
[INFO] [stdout]     |
[INFO] [stdout] 336 |               if let Ok(Some(emb)) = self.get_or_compute_embedding(content).await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                                      |
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                   let bytes = vector::vec_to_bytes(&emb);
[INFO] [stdout] 338 |                   let conn = self.conn.lock();
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `conn` calls a custom destructor
[INFO] [stdout]     |                       `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                 conn.execute(
[INFO] [stdout] 340 | |                     "UPDATE memories SET embedding = ?1 WHERE id = ?2",
[INFO] [stdout] 341 | |                     params![bytes, id],
[INFO] [stdout] 342 | |                 )?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tools/http_request.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let client = reqwest::Client::builder()
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |         Ok(request.send().await?)
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/dingtalk.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(msg) = read.next().await {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |      |           |
[INFO] [stdout]     |                        |      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     if let Err(e) = write.send(Message::Text(pong.to_string())).await {
[INFO] [stdout]     |                                -                                                -----
[INFO] [stdout]     |                                |                                                |
[INFO] [stdout]     |                                |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                         let mut webhooks = self.session_webhooks.write().await;
[INFO] [stdout]     |                             ------------   -----------------------------------
[INFO] [stdout]     |                             |              |                             |
[INFO] [stdout]     |                             |              |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |              |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `webhooks` calls a custom destructor
[INFO] [stdout]     |                             `webhooks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                     let _ = write.send(Message::Text(ack.to_string())).await;
[INFO] [stdout]     |                             ------------------------------------------------
[INFO] [stdout]     |                             |                                          |
[INFO] [stdout]     |                             |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             |                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                     if tx.send(channel_msg).await.is_err() {
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `webhooks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/signal.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                   |
[INFO] [stdout]     |                            |        |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 332 |                 let chunk = match chunk {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                     Ok(c) => c,
[INFO] [stdout] 334 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 366 |                                             if tx.send(msg).await.is_err() {
[INFO] [stdout]     |                                                ------------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/signal.rs:331:37
[INFO] [stdout]      |
[INFO] [stdout]  300 |               let resp = self
[INFO] [stdout]      |  _________________----___-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `resp` calls a custom destructor
[INFO] [stdout]      | |                 `resp` will be dropped later as of Edition 2024
[INFO] [stdout]  301 | |                 .client
[INFO] [stdout]  302 | |                 .get(url.clone())
[INFO] [stdout]  303 | |                 .header("Accept", "text/event-stream")
[INFO] [stdout]  304 | |                 .send()
[INFO] [stdout]  305 | |                 .await;
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  311 |                       let body = r.text().await.unwrap_or_default();
[INFO] [stdout]      |                                  --------------
[INFO] [stdout]      |                                  |        |
[INFO] [stdout]      |                                  |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                  |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  312 |                       tracing::warn!("Signal SSE returned {status}: {body}");
[INFO] [stdout]  313 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                   Err(e) => {
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                       tracing::warn!("Signal SSE connect error: {e}, retrying...");
[INFO] [stdout]  319 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  327 |               let mut bytes_stream = resp.bytes_stream();
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `bytes_stream` calls a custom destructor
[INFO] [stdout]      |                   `bytes_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |               while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]      |                              -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |        |                   |
[INFO] [stdout]      |                              |        |                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                              |        |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `chunk` calls a custom destructor
[INFO] [stdout]      |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  332 |                   let chunk = match chunk {
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  333 |                       Ok(c) => c,
[INFO] [stdout]  334 |                       Err(e) => {
[INFO] [stdout]      |                           -
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  366 |                                               if tx.send(msg).await.is_err() {
[INFO] [stdout]      |                                                  ------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  386 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  393 |                                   let _ = tx.send(msg).await;
[INFO] [stdout]      |                                           ------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |               tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |               -------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `resp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:443:32
[INFO] [stdout]     |
[INFO] [stdout] 440 |               let mut stmt = conn.prepare(
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `stmt` calls a custom destructor
[INFO] [stdout]     |                   `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               if let Ok(entry) = stmt.query_row(params![scored.id], |row| {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 444 | |                 Ok(MemoryEntry {
[INFO] [stdout] 445 | |                     id: row.get(0)?,
[INFO] [stdout] 446 | |                     key: row.get(1)?,
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |                 })
[INFO] [stdout] 453 | |             }) {
[INFO] [stdout]     | |              ^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:540:15
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 522 |         let conn = self.conn.lock();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 523 |
[INFO] [stdout] 524 |         let mut stmt = conn.prepare(
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `stmt` calls a custom destructor
[INFO] [stdout]     |             `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |         let mut rows = stmt.query_map(params![key], |row| {
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `rows` calls a custom destructor
[INFO] [stdout]     |             `rows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 540 |         match rows.next() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/row.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Drop for Rows<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/capabilities_tool.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |             match transport.capabilities().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                        |
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |           while let Some(item) = bytes_stream.next().await {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |       |                   |
[INFO] [stdout]     |                          |       |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |       up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `item` calls a custom destructor
[INFO] [stdout]     |                          `item` will be dropped later as of Edition 2024
[INFO] [stdout] 307 |               match item {
[INFO] [stdout] 308 |                   Ok(bytes) => {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `bytes` calls a custom destructor
[INFO] [stdout]     |                      `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                               let _ = tx
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 314 | |                                 .send(Err(StreamError::InvalidSse(format!(
[INFO] [stdout] 315 | |                                     "Invalid UTF-8: {}",
[INFO] [stdout] 316 | |                                     e
[INFO] [stdout] 317 | |                                 ))))
[INFO] [stdout] 318 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   if tx.send(Ok(chunk)).await.is_err() {
[INFO] [stdout]     |                                      ------------------------
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      |                  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |                                   let _ = tx.send(Err(e)).await;
[INFO] [stdout]     |                                           ---------------------
[INFO] [stdout]     |                                           |               |
[INFO] [stdout]     |                                           |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                           |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       let _ = tx.send(Err(StreamError::Http(e))).await;
[INFO] [stdout]     |                               ----------------------------------------
[INFO] [stdout]     |                               |                                  |
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               |                                  `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `item` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `item` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:765:37
[INFO] [stdout]     |
[INFO] [stdout] 765 |             while let Some(chunk) = chunk_stream.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                   |
[INFO] [stdout]     |                                     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 766 |                 if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                    --------------------
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 769 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:169:27
[INFO] [stdout]      |
[INFO] [stdout]  169 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  170 | |                         .chat_with_system(system_prompt, message, current_model, temperature)
[INFO] [stdout]  171 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  231 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:274:27
[INFO] [stdout]      |
[INFO] [stdout]  274 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  275 | |                         .chat_with_history(messages, current_model, temperature)
[INFO] [stdout]  276 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  335 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  340 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/reliable.rs:399:41
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 407 |                     if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                        --------------------
[INFO] [stdout]     |                        |              |
[INFO] [stdout]     |                        |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/router.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |             if let Err(e) = provider.warmup().await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                 |
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:555:15
[INFO] [stdout]     |
[INFO] [stdout] 555 |         match create_provider(fallback, api_key) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 556 |             Ok(provider) => providers.push((fallback.clone(), provider)),
[INFO] [stdout] 557 |             Err(_error) => {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_error` calls a custom destructor
[INFO] [stdout]     |                 `_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 564 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:615:15
[INFO] [stdout]     |
[INFO] [stdout] 615 |         match create_resilient_provider(name, key, url, reliability) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 616 |             Ok(provider) => providers.push((name.clone(), provider)),
[INFO] [stdout] 617 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |             if let Ok(skill) = load_skill_toml(&manifest_path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |         } else if md_path.exists() {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             if let Ok(skill) = load_skill_md(&md_path, &path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/custom_provider.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/whatsapp_webhook_security.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_tool.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/dockerignore_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:582:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |               } else {
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/memory_comparison.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:631:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 661 | |             };
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:717:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                       |                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                       up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 739 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/loop_.rs:1359:6
[INFO] [stdout]      |
[INFO] [stdout] 1203 |     let observer: Arc<dyn Observer> =
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `observer` calls a custom destructor
[INFO] [stdout]      |         `observer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     let mem: Arc<dyn Memory> = Arc::from(memory::create_memory(
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `mem` calls a custom destructor
[INFO] [stdout]      |         `mem` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1225 |     let mut tools_registry = tools::all_tools_with_runtime(
[INFO] [stdout]      |         ------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `tools_registry` calls a custom destructor
[INFO] [stdout]      |         `tools_registry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1248 |     let provider: Box<dyn Provider> = providers::create_routed_provider(
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `provider` calls a custom destructor
[INFO] [stdout]      |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1359 |     .await
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout]      |      |
[INFO] [stdout]      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1360 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `observer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `mem` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `tools_registry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `provider` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/mod.rs:304:34
[INFO] [stdout]      |
[INFO] [stdout]  292 |       while let Some(msg) = rx.recv().await {
[INFO] [stdout]      |                             ---------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |           let permit = match Arc::clone(&semaphore).acquire_owned().await {
[INFO] [stdout]      |                              --------------------------------------------
[INFO] [stdout]      |                              |                                      |
[INFO] [stdout]      |                              |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                              |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 | /         workers.spawn(async move {
[INFO] [stdout]  300 | |             let _permit = permit;
[INFO] [stdout]  301 | |             process_channel_message(worker_ctx, msg).await;
[INFO] [stdout]  302 | |         });
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  303 |
[INFO] [stdout]  304 |           while let Some(result) = workers.try_join_next() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  305 |               log_worker_join_result(result);
[INFO] [stdout]  306 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/mod.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |     while let Some(result) = workers.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                   |
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 310 |         log_worker_join_result(result);
[INFO] [stdout] 311 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:707:33
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________-
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____^
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 713 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________^
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____-
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |         match serial::SerialPeripheral::connect(board).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                        |
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |             Ok(peripheral) => {
[INFO] [stdout] 186 |                 let mut p = peripheral;
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `p` calls a custom destructor
[INFO] [stdout]     |                     `p` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                 if p.connect().await.is_err() {
[INFO] [stdout]     |                    -----------------
[INFO] [stdout]     |                    |           |
[INFO] [stdout]     |                    |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 202 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 206 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/heartbeat/engine.rs:45:19
[INFO] [stdout]     |
[INFO] [stdout]  42 |             interval.tick().await;
[INFO] [stdout]     |             ---------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |             match self.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/markdown.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                            -----    ----------------------^
[INFO] [stdout]     |                            |        |                |
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `entry` calls a custom destructor
[INFO] [stdout]     |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                     let content = fs::read_to_string(&path).await?;
[INFO] [stdout]     |                                   -------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:336:36
[INFO] [stdout]     |
[INFO] [stdout] 336 |               if let Ok(Some(emb)) = self.get_or_compute_embedding(content).await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                                      |
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                   let bytes = vector::vec_to_bytes(&emb);
[INFO] [stdout] 338 |                   let conn = self.conn.lock();
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `conn` calls a custom destructor
[INFO] [stdout]     |                       `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                 conn.execute(
[INFO] [stdout] 340 | |                     "UPDATE memories SET embedding = ?1 WHERE id = ?2",
[INFO] [stdout] 341 | |                     params![bytes, id],
[INFO] [stdout] 342 | |                 )?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let scout = GitHubScout::new(self.config.github_token.clone());
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `scout` calls a custom destructor
[INFO] [stdout]     |                         `scout` will be dropped later as of Edition 2024
[INFO] [stdout] 144 |                     match scout.discover().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `scout` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:184:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |                         match self.integrator.integrate(&res.candidate) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 196 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:144:44
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let scout = GitHubScout::new(self.config.github_token.clone());
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `scout` calls a custom destructor
[INFO] [stdout]     |                         `scout` will be dropped later as of Edition 2024
[INFO] [stdout] 144 |                     match scout.discover().await {
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `scout` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tools/http_request.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let client = reqwest::Client::builder()
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |         Ok(request.send().await?)
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/dingtalk.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(msg) = read.next().await {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |      |           |
[INFO] [stdout]     |                        |      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     if let Err(e) = write.send(Message::Text(pong.to_string())).await {
[INFO] [stdout]     |                                -                                                -----
[INFO] [stdout]     |                                |                                                |
[INFO] [stdout]     |                                |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                         let mut webhooks = self.session_webhooks.write().await;
[INFO] [stdout]     |                             ------------   -----------------------------------
[INFO] [stdout]     |                             |              |                             |
[INFO] [stdout]     |                             |              |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |              |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `webhooks` calls a custom destructor
[INFO] [stdout]     |                             `webhooks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                     let _ = write.send(Message::Text(ack.to_string())).await;
[INFO] [stdout]     |                             ------------------------------------------------
[INFO] [stdout]     |                             |                                          |
[INFO] [stdout]     |                             |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             |                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                     if tx.send(channel_msg).await.is_err() {
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `webhooks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/signal.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                   |
[INFO] [stdout]     |                            |        |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 332 |                 let chunk = match chunk {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                     Ok(c) => c,
[INFO] [stdout] 334 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 366 |                                             if tx.send(msg).await.is_err() {
[INFO] [stdout]     |                                                ------------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/signal.rs:331:37
[INFO] [stdout]      |
[INFO] [stdout]  300 |               let resp = self
[INFO] [stdout]      |  _________________----___-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `resp` calls a custom destructor
[INFO] [stdout]      | |                 `resp` will be dropped later as of Edition 2024
[INFO] [stdout]  301 | |                 .client
[INFO] [stdout]  302 | |                 .get(url.clone())
[INFO] [stdout]  303 | |                 .header("Accept", "text/event-stream")
[INFO] [stdout]  304 | |                 .send()
[INFO] [stdout]  305 | |                 .await;
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  311 |                       let body = r.text().await.unwrap_or_default();
[INFO] [stdout]      |                                  --------------
[INFO] [stdout]      |                                  |        |
[INFO] [stdout]      |                                  |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                  |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  312 |                       tracing::warn!("Signal SSE returned {status}: {body}");
[INFO] [stdout]  313 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                   Err(e) => {
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                       tracing::warn!("Signal SSE connect error: {e}, retrying...");
[INFO] [stdout]  319 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  327 |               let mut bytes_stream = resp.bytes_stream();
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `bytes_stream` calls a custom destructor
[INFO] [stdout]      |                   `bytes_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |               while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]      |                              -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |        |                   |
[INFO] [stdout]      |                              |        |                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                              |        |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `chunk` calls a custom destructor
[INFO] [stdout]      |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  332 |                   let chunk = match chunk {
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  333 |                       Ok(c) => c,
[INFO] [stdout]  334 |                       Err(e) => {
[INFO] [stdout]      |                           -
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  366 |                                               if tx.send(msg).await.is_err() {
[INFO] [stdout]      |                                                  ------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  386 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  393 |                                   let _ = tx.send(msg).await;
[INFO] [stdout]      |                                           ------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |               tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |               -------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `resp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:443:32
[INFO] [stdout]     |
[INFO] [stdout] 440 |               let mut stmt = conn.prepare(
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `stmt` calls a custom destructor
[INFO] [stdout]     |                   `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               if let Ok(entry) = stmt.query_row(params![scored.id], |row| {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 444 | |                 Ok(MemoryEntry {
[INFO] [stdout] 445 | |                     id: row.get(0)?,
[INFO] [stdout] 446 | |                     key: row.get(1)?,
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |                 })
[INFO] [stdout] 453 | |             }) {
[INFO] [stdout]     | |              ^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:540:15
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 522 |         let conn = self.conn.lock();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 523 |
[INFO] [stdout] 524 |         let mut stmt = conn.prepare(
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `stmt` calls a custom destructor
[INFO] [stdout]     |             `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |         let mut rows = stmt.query_map(params![key], |row| {
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `rows` calls a custom destructor
[INFO] [stdout]     |             `rows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 540 |         match rows.next() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/row.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Drop for Rows<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/capabilities_tool.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |             match transport.capabilities().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                        |
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |           while let Some(item) = bytes_stream.next().await {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |       |                   |
[INFO] [stdout]     |                          |       |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |       up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `item` calls a custom destructor
[INFO] [stdout]     |                          `item` will be dropped later as of Edition 2024
[INFO] [stdout] 307 |               match item {
[INFO] [stdout] 308 |                   Ok(bytes) => {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `bytes` calls a custom destructor
[INFO] [stdout]     |                      `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                               let _ = tx
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 314 | |                                 .send(Err(StreamError::InvalidSse(format!(
[INFO] [stdout] 315 | |                                     "Invalid UTF-8: {}",
[INFO] [stdout] 316 | |                                     e
[INFO] [stdout] 317 | |                                 ))))
[INFO] [stdout] 318 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   if tx.send(Ok(chunk)).await.is_err() {
[INFO] [stdout]     |                                      ------------------------
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      |                  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |                                   let _ = tx.send(Err(e)).await;
[INFO] [stdout]     |                                           ---------------------
[INFO] [stdout]     |                                           |               |
[INFO] [stdout]     |                                           |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                           |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       let _ = tx.send(Err(StreamError::Http(e))).await;
[INFO] [stdout]     |                               ----------------------------------------
[INFO] [stdout]     |                               |                                  |
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               |                                  `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `item` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `item` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:765:37
[INFO] [stdout]     |
[INFO] [stdout] 765 |             while let Some(chunk) = chunk_stream.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                   |
[INFO] [stdout]     |                                     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 766 |                 if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                    --------------------
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 769 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:169:27
[INFO] [stdout]      |
[INFO] [stdout]  169 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  170 | |                         .chat_with_system(system_prompt, message, current_model, temperature)
[INFO] [stdout]  171 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  231 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:274:27
[INFO] [stdout]      |
[INFO] [stdout]  274 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  275 | |                         .chat_with_history(messages, current_model, temperature)
[INFO] [stdout]  276 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  335 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  340 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/reliable.rs:399:41
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 407 |                     if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                        --------------------
[INFO] [stdout]     |                        |              |
[INFO] [stdout]     |                        |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/router.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |             if let Err(e) = provider.warmup().await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                 |
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:555:15
[INFO] [stdout]     |
[INFO] [stdout] 555 |         match create_provider(fallback, api_key) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 556 |             Ok(provider) => providers.push((fallback.clone(), provider)),
[INFO] [stdout] 557 |             Err(_error) => {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_error` calls a custom destructor
[INFO] [stdout]     |                 `_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 564 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:615:15
[INFO] [stdout]     |
[INFO] [stdout] 615 |         match create_resilient_provider(name, key, url, reliability) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 616 |             Ok(provider) => providers.push((name.clone(), provider)),
[INFO] [stdout] 617 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |             if let Ok(skill) = load_skill_toml(&manifest_path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |         } else if md_path.exists() {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             if let Ok(skill) = load_skill_md(&md_path, &path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/custom_memory.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_channel.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:582:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 630 |               } else {
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:631:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 661 | |             };
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ------------------------------------------
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/agent/loop_.rs:717:23
[INFO] [stdout]     |
[INFO] [stdout] 582 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 583 | |                     .chat_with_tools(history, &tool_definitions, model, temperature)
[INFO] [stdout] 584 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |                   match provider
[INFO] [stdout]     |  _______________________-
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 632 | |                     .chat_with_history(history, model, temperature)
[INFO] [stdout] 633 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 717 | |                 match tool.execute(call.arguments.clone()).await {
[INFO] [stdout]     | |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                       |                                    |
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                       |                                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                       |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                       up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 730 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 739 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/loop_.rs:1359:6
[INFO] [stdout]      |
[INFO] [stdout] 1203 |     let observer: Arc<dyn Observer> =
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `observer` calls a custom destructor
[INFO] [stdout]      |         `observer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     let mem: Arc<dyn Memory> = Arc::from(memory::create_memory(
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `mem` calls a custom destructor
[INFO] [stdout]      |         `mem` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1225 |     let mut tools_registry = tools::all_tools_with_runtime(
[INFO] [stdout]      |         ------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `tools_registry` calls a custom destructor
[INFO] [stdout]      |         `tools_registry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1248 |     let provider: Box<dyn Provider> = providers::create_routed_provider(
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `provider` calls a custom destructor
[INFO] [stdout]      |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1359 |     .await
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout]      |      |
[INFO] [stdout]      |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1360 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `observer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `mem` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `tools_registry` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `provider` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/mod.rs:304:34
[INFO] [stdout]      |
[INFO] [stdout]  292 |       while let Some(msg) = rx.recv().await {
[INFO] [stdout]      |                             ---------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  293 |           let permit = match Arc::clone(&semaphore).acquire_owned().await {
[INFO] [stdout]      |                              --------------------------------------------
[INFO] [stdout]      |                              |                                      |
[INFO] [stdout]      |                              |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                              |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 | /         workers.spawn(async move {
[INFO] [stdout]  300 | |             let _permit = permit;
[INFO] [stdout]  301 | |             process_channel_message(worker_ctx, msg).await;
[INFO] [stdout]  302 | |         });
[INFO] [stdout]      | |          -
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  303 |
[INFO] [stdout]  304 |           while let Some(result) = workers.try_join_next() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  305 |               log_worker_join_result(result);
[INFO] [stdout]  306 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/mod.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |     while let Some(result) = workers.join_next().await {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                   |
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                              |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 310 |         log_worker_join_result(result);
[INFO] [stdout] 311 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:707:33
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________-
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____^
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 713 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/gateway/mod.rs:700:15
[INFO] [stdout]     |
[INFO] [stdout] 693 |               let _ = state
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 694 | |                 .mem
[INFO] [stdout] 695 | |                 .store(&key, &msg.content, MemoryCategory::Conversation, None)
[INFO] [stdout] 696 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |                  |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                  |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |           match state
[INFO] [stdout]     |  _______________^
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout]     | |_______________|
[INFO] [stdout] 701 | |             .provider
[INFO] [stdout] 702 | |             .simple_chat(&msg.content, &state.model, state.temperature)
[INFO] [stdout] 703 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |______________|___|
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |______________|___up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 707 |                   if let Err(e) = wa
[INFO] [stdout]     |  ____________________________-____-
[INFO] [stdout]     |  ____________________________|____|
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            `e` calls a custom destructor
[INFO] [stdout]     | |                            `e` will be dropped later as of Edition 2024
[INFO] [stdout] 708 | |                     .send(&SendMessage::new(response, &msg.reply_target))
[INFO] [stdout] 709 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 714 | |             Err(e) => {
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 715 | |                 tracing::error!("LLM error for WhatsApp message: {e:#}");
[INFO] [stdout] 716 |                   let _ = wa
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout]     | |_________________________|
[INFO] [stdout] 717 | |                     .send(&SendMessage::new(
[INFO] [stdout] 718 | |                         "Sorry, I couldn't process your message right now.",
[INFO] [stdout] 719 | |                         &msg.reply_target,
[INFO] [stdout] 720 | |                     ))
[INFO] [stdout] 721 | |                     .await;
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |______________________|___|
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |______________________|___`#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |         match serial::SerialPeripheral::connect(board).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                        |
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |             Ok(peripheral) => {
[INFO] [stdout] 186 |                 let mut p = peripheral;
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `p` calls a custom destructor
[INFO] [stdout]     |                     `p` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                 if p.connect().await.is_err() {
[INFO] [stdout]     |                    -----------------
[INFO] [stdout]     |                    |           |
[INFO] [stdout]     |                    |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 202 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 206 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/io/async_fd.rs:947:1
[INFO] [stdout]     |
[INFO] [stdout] 947 | impl<T: AsRawFd> Drop for AsyncFd<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/heartbeat/engine.rs:45:19
[INFO] [stdout]     |
[INFO] [stdout]  42 |             interval.tick().await;
[INFO] [stdout]     |             ---------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |             match self.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |           |
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  59 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/markdown.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             while let Some(entry) = dir.next_entry().await? {
[INFO] [stdout]     |                            -----    ----------------------^
[INFO] [stdout]     |                            |        |                |
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            |        |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `entry` calls a custom destructor
[INFO] [stdout]     |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                     let content = fs::read_to_string(&path).await?;
[INFO] [stdout]     |                                   -------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:336:36
[INFO] [stdout]     |
[INFO] [stdout] 336 |               if let Ok(Some(emb)) = self.get_or_compute_embedding(content).await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                                      |
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                   let bytes = vector::vec_to_bytes(&emb);
[INFO] [stdout] 338 |                   let conn = self.conn.lock();
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `conn` calls a custom destructor
[INFO] [stdout]     |                       `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                 conn.execute(
[INFO] [stdout] 340 | |                     "UPDATE memories SET embedding = ?1 WHERE id = ?2",
[INFO] [stdout] 341 | |                     params![bytes, id],
[INFO] [stdout] 342 | |                 )?;
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let scout = GitHubScout::new(self.config.github_token.clone());
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `scout` calls a custom destructor
[INFO] [stdout]     |                         `scout` will be dropped later as of Edition 2024
[INFO] [stdout] 144 |                     match scout.discover().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `scout` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:184:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |                         match self.integrator.integrate(&res.candidate) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 188 |                             Err(e) => {
[INFO] [stdout]     |                                 -
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `e` calls a custom destructor
[INFO] [stdout]     |                                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 196 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skillforge/mod.rs:144:44
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let scout = GitHubScout::new(self.config.github_token.clone());
[INFO] [stdout]     |                         -----
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `scout` calls a custom destructor
[INFO] [stdout]     |                         `scout` will be dropped later as of Edition 2024
[INFO] [stdout] 144 |                     match scout.discover().await {
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `scout` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `scout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tools/http_request.rs:131:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let client = reqwest::Client::builder()
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |         Ok(request.send().await?)
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/dingtalk.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(msg) = read.next().await {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |      |           |
[INFO] [stdout]     |                        |      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     if let Err(e) = write.send(Message::Text(pong.to_string())).await {
[INFO] [stdout]     |                                -                                                -----
[INFO] [stdout]     |                                |                                                |
[INFO] [stdout]     |                                |                                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |                                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                         let mut webhooks = self.session_webhooks.write().await;
[INFO] [stdout]     |                             ------------   -----------------------------------
[INFO] [stdout]     |                             |              |                             |
[INFO] [stdout]     |                             |              |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                             |              |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `webhooks` calls a custom destructor
[INFO] [stdout]     |                             `webhooks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 258 |                     let _ = write.send(Message::Text(ack.to_string())).await;
[INFO] [stdout]     |                             ------------------------------------------------
[INFO] [stdout]     |                             |                                          |
[INFO] [stdout]     |                             |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             |                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                     if tx.send(channel_msg).await.is_err() {
[INFO] [stdout]     |                        --------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 279 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `msg` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `webhooks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/channels/signal.rs:331:37
[INFO] [stdout]     |
[INFO] [stdout] 331 |             while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]     |                            -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |        |                   |
[INFO] [stdout]     |                            |        |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |        |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `chunk` calls a custom destructor
[INFO] [stdout]     |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 332 |                 let chunk = match chunk {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 333 |                     Ok(c) => c,
[INFO] [stdout] 334 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 366 |                                             if tx.send(msg).await.is_err() {
[INFO] [stdout]     |                                                ------------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/channels/signal.rs:331:37
[INFO] [stdout]      |
[INFO] [stdout]  300 |               let resp = self
[INFO] [stdout]      |  _________________----___-
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `resp` calls a custom destructor
[INFO] [stdout]      | |                 `resp` will be dropped later as of Edition 2024
[INFO] [stdout]  301 | |                 .client
[INFO] [stdout]  302 | |                 .get(url.clone())
[INFO] [stdout]  303 | |                 .header("Accept", "text/event-stream")
[INFO] [stdout]  304 | |                 .send()
[INFO] [stdout]  305 | |                 .await;
[INFO] [stdout]      | |                  -----
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  311 |                       let body = r.text().await.unwrap_or_default();
[INFO] [stdout]      |                                  --------------
[INFO] [stdout]      |                                  |        |
[INFO] [stdout]      |                                  |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                  |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  312 |                       tracing::warn!("Signal SSE returned {status}: {body}");
[INFO] [stdout]  313 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  317 |                   Err(e) => {
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout]  318 |                       tracing::warn!("Signal SSE connect error: {e}, retrying...");
[INFO] [stdout]  319 |                       tokio::time::sleep(tokio::time::Duration::from_secs(retry_delay_secs)).await;
[INFO] [stdout]      |                       ----------------------------------------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  327 |               let mut bytes_stream = resp.bytes_stream();
[INFO] [stdout]      |                   ----------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `bytes_stream` calls a custom destructor
[INFO] [stdout]      |                   `bytes_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |               while let Some(chunk) = bytes_stream.next().await {
[INFO] [stdout]      |                              -----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                              |        |                   |
[INFO] [stdout]      |                              |        |                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                              |        |                   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              |        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                              |        up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `chunk` calls a custom destructor
[INFO] [stdout]      |                              `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  332 |                   let chunk = match chunk {
[INFO] [stdout]      |                       -----
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  333 |                       Ok(c) => c,
[INFO] [stdout]  334 |                       Err(e) => {
[INFO] [stdout]      |                           -
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  366 |                                               if tx.send(msg).await.is_err() {
[INFO] [stdout]      |                                                  ------------------
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  386 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  393 |                                   let _ = tx.send(msg).await;
[INFO] [stdout]      |                                           ------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |               tokio::time::sleep(tokio::time::Duration::from_secs(2)).await;
[INFO] [stdout]      |               -------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `resp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `resp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:443:32
[INFO] [stdout]     |
[INFO] [stdout] 440 |               let mut stmt = conn.prepare(
[INFO] [stdout]     |                   --------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `stmt` calls a custom destructor
[INFO] [stdout]     |                   `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               if let Ok(entry) = stmt.query_row(params![scored.id], |row| {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 444 | |                 Ok(MemoryEntry {
[INFO] [stdout] 445 | |                     id: row.get(0)?,
[INFO] [stdout] 446 | |                     key: row.get(1)?,
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |                 })
[INFO] [stdout] 453 | |             }) {
[INFO] [stdout]     | |              ^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/memory/sqlite.rs:540:15
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 522 |         let conn = self.conn.lock();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `conn` calls a custom destructor
[INFO] [stdout]     |             `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 523 |
[INFO] [stdout] 524 |         let mut stmt = conn.prepare(
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `stmt` calls a custom destructor
[INFO] [stdout]     |             `stmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |         let mut rows = stmt.query_map(params![key], |row| {
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `rows` calls a custom destructor
[INFO] [stdout]     |             `rows` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 540 |         match rows.next() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/mutex.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stmt` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/statement.rs:791:1
[INFO] [stdout]     |
[INFO] [stdout] 791 | impl Drop for Statement<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rows` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.38.0/src/row.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Drop for Rows<'_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/peripherals/capabilities_tool.rs:53:19
[INFO] [stdout]     |
[INFO] [stdout]  53 |             match transport.capabilities().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                        |
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |           while let Some(item) = bytes_stream.next().await {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                          |       |                   |
[INFO] [stdout]     |                          |       |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                          |       up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `item` calls a custom destructor
[INFO] [stdout]     |                          `item` will be dropped later as of Edition 2024
[INFO] [stdout] 307 |               match item {
[INFO] [stdout] 308 |                   Ok(bytes) => {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `bytes` calls a custom destructor
[INFO] [stdout]     |                      `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                               let _ = tx
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 314 | |                                 .send(Err(StreamError::InvalidSse(format!(
[INFO] [stdout] 315 | |                                     "Invalid UTF-8: {}",
[INFO] [stdout] 316 | |                                     e
[INFO] [stdout] 317 | |                                 ))))
[INFO] [stdout] 318 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   if tx.send(Ok(chunk)).await.is_err() {
[INFO] [stdout]     |                                      ------------------------
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                      |                  `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 342 |                                   let _ = tx.send(Err(e)).await;
[INFO] [stdout]     |                                           ---------------------
[INFO] [stdout]     |                                           |               |
[INFO] [stdout]     |                                           |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                           |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       let _ = tx.send(Err(StreamError::Http(e))).await;
[INFO] [stdout]     |                               ----------------------------------------
[INFO] [stdout]     |                               |                                  |
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               |                                  `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `item` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `item` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/compatible.rs:765:37
[INFO] [stdout]     |
[INFO] [stdout] 765 |             while let Some(chunk) = chunk_stream.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                   |
[INFO] [stdout]     |                                     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 766 |                 if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                    --------------------
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 769 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:169:27
[INFO] [stdout]      |
[INFO] [stdout]  169 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  170 | |                         .chat_with_system(system_prompt, message, current_model, temperature)
[INFO] [stdout]  171 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  231 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/providers/reliable.rs:274:27
[INFO] [stdout]      |
[INFO] [stdout]  274 |                       match provider
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]  275 | |                         .chat_with_history(messages, current_model, temperature)
[INFO] [stdout]  276 | |                         .await
[INFO] [stdout]      | |                          ----^
[INFO] [stdout]      | |                          |   |
[INFO] [stdout]      | |                          |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                          |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                           Err(e) => {
[INFO] [stdout]      |                               -
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `e` calls a custom destructor
[INFO] [stdout]      |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  335 |                                   tokio::time::sleep(Duration::from_millis(wait)).await;
[INFO] [stdout]      |                                   -----------------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  340 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/reliable.rs:399:41
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                         |             |
[INFO] [stdout]     |                                         |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 407 |                     if tx.send(chunk).await.is_err() {
[INFO] [stdout]     |                        --------------------
[INFO] [stdout]     |                        |              |
[INFO] [stdout]     |                        |              this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |              `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/router.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |             if let Err(e) = provider.warmup().await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                 |
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:555:15
[INFO] [stdout]     |
[INFO] [stdout] 555 |         match create_provider(fallback, api_key) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 556 |             Ok(provider) => providers.push((fallback.clone(), provider)),
[INFO] [stdout] 557 |             Err(_error) => {
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_error` calls a custom destructor
[INFO] [stdout]     |                 `_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 564 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/mod.rs:615:15
[INFO] [stdout]     |
[INFO] [stdout] 615 |         match create_resilient_provider(name, key, url, reliability) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 616 |             Ok(provider) => providers.push((name.clone(), provider)),
[INFO] [stdout] 617 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/security/secrets.rs:656:15
[INFO] [stdout]     |
[INFO] [stdout] 639 |         let tmp1 = TempDir::new().unwrap();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tmp1` calls a custom destructor
[INFO] [stdout]     |             `tmp1` will be dropped later as of Edition 2024
[INFO] [stdout] 640 |         let tmp2 = TempDir::new().unwrap();
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tmp2` calls a custom destructor
[INFO] [stdout]     |             `tmp2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 656 |         match store2.decrypt_and_migrate(&legacy_value) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tmp1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.25.0/src/dir/mod.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Drop for TempDir {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tmp2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.25.0/src/dir/mod.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Drop for TempDir {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 |             if let Ok(skill) = load_skill_toml(&manifest_path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 |         } else if md_path.exists() {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/skills/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for entry in entries.flatten() {
[INFO] [stdout]     |         -----    -----------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             if let Ok(skill) = load_skill_md(&md_path, &path) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 39s
[INFO] [stderr] crater-edition-check: zeroclaw v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking zeroclaw v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error: could not compile `zeroclaw` (lib test)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/rustc --crate-name zeroclaw --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --cfg 'feature="hardware"' --cfg 'feature="nusb"' --cfg 'feature="tokio-serial"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("browser-native", "default", "fantoccini", "hardware", "landlock", "nusb", "peripheral-rpi", "probe", "rag-pdf", "rppal", "sandbox-bubblewrap", "sandbox-landlock", "tokio-serial"))' -C metadata=1482ed8bf321096f -C extra-filename=-9c678f929e8ac251 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-d0319681c0ba6122.rmeta --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-d95d16702407816c.so --extern axum=/opt/rustwide/target/debug/deps/libaxum-e6fb591f2c0875b7.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-338dc187bf909e4f.rmeta --extern chacha20poly1305=/opt/rustwide/target/debug/deps/libchacha20poly1305-723a00108032831a.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-36a9bc00e005ea2d.rmeta --extern chrono_tz=/opt/rustwide/target/debug/deps/libchrono_tz-6712006b177929e6.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-ee4fdfb50dd24139.rmeta --extern console=/opt/rustwide/target/debug/deps/libconsole-c1807a100189a950.rmeta --extern cron=/opt/rustwide/target/debug/deps/libcron-08ed6985086b5db4.rmeta --extern dialoguer=/opt/rustwide/target/debug/deps/libdialoguer-1fdb408ff08a361e.rmeta --extern directories=/opt/rustwide/target/debug/deps/libdirectories-252fb70aafb92925.rmeta --extern futures=/opt/rustwide/target/debug/deps/libfutures-32b2a7402f5ee195.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-b70c09a6a42b2241.rmeta --extern glob=/opt/rustwide/target/debug/deps/libglob-a878eaa52753cae3.rmeta --extern hex=/opt/rustwide/target/debug/deps/libhex-e70d8a861528f08b.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-a0a5d8901b09356c.rmeta --extern hostname=/opt/rustwide/target/debug/deps/libhostname-d77c0d9de1b93ee3.rmeta --extern http_body_util=/opt/rustwide/target/debug/deps/libhttp_body_util-4a8481d0cfd23673.rmeta --extern lettre=/opt/rustwide/target/debug/deps/liblettre-9cb5e0f020f83694.rmeta --extern mail_parser=/opt/rustwide/target/debug/deps/libmail_parser-bc6dfd4a25fc0b7e.rmeta --extern nusb=/opt/rustwide/target/debug/deps/libnusb-3a73bde000e06e12.rmeta --extern opentelemetry=/opt/rustwide/target/debug/deps/libopentelemetry-731bd64b30479962.rmeta --extern opentelemetry_otlp=/opt/rustwide/target/debug/deps/libopentelemetry_otlp-f14ee7ed74dd6e24.rmeta --extern opentelemetry_sdk=/opt/rustwide/target/debug/deps/libopentelemetry_sdk-a3d9507392c0720e.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-c86b68c0ebff630a.rmeta --extern prometheus=/opt/rustwide/target/debug/deps/libprometheus-b0617dbc1feeb811.rmeta --extern prost=/opt/rustwide/target/debug/deps/libprost-b668592bc03768da.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-7f37a12fe7c3444d.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-65788cfb75c99930.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-ac192b6f284c899b.rmeta --extern ring=/opt/rustwide/target/debug/deps/libring-bf2a0fd61880f8e4.rmeta --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-142e17158869fc5f.rmeta --extern rustls=/opt/rustwide/target/debug/deps/librustls-42c953bc0ef8ddc5.rmeta --extern rustls_pki_types=/opt/rustwide/target/debug/deps/librustls_pki_types-2f36ddf30b700e41.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-5fe59af8d8b98a21.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-4e33fe88b78a84f4.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-1ec6dfc454ef41bb.rmeta --extern shellexpand=/opt/rustwide/target/debug/deps/libshellexpand-86c4e8cf7fa0804b.rmeta --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-df3825f06c74389b.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-ed3ebb011956c88e.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-727f2bb73bc94077.rmeta --extern tokio_rustls=/opt/rustwide/target/debug/deps/libtokio_rustls-2c6823fe32aee1c2.rmeta --extern tokio_serial=/opt/rustwide/target/debug/deps/libtokio_serial-54a7f3308acc9ab9.rmeta --extern tokio_test=/opt/rustwide/target/debug/deps/libtokio_test-b35c3a257902195c.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-7aef5e2294bfda86.rmeta --extern toml=/opt/rustwide/target/debug/deps/libtoml-76dad8204785afb5.rmeta --extern tower=/opt/rustwide/target/debug/deps/libtower-e0004d47429769be.rmeta --extern tower_http=/opt/rustwide/target/debug/deps/libtower_http-5826e79c6c4340d3.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-9c4dad91b0a20f02.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-a5fc4415b7533077.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-22e006485d8d0cf6.rmeta --extern webpki_roots=/opt/rustwide/target/debug/deps/libwebpki_roots-1f1244244544fa6c.rmeta -L native=/opt/rustwide/target/debug/build/psm-b784bfd496e60e10/out -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6713799c6479976/out -L native=/opt/rustwide/target/debug/build/ring-5f35e8dc47eddb20/out -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-ead3e2a181c8dcdf/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252", kill_on_drop: false }`
[INFO] [stdout] 6e4115431633f5a124f13849433d78f1415c448817b2443ed93d53188c0c8252
